swap     MACRO  dword1, dword2
; exchange two doublewords in memory
         push   eax
         mov    eax, dword1
         xchg   eax, dword2
         mov    dword1, eax
         pop    eax
         ENDM

